﻿using Admin.NET.Core;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Admin.NET.Friend.Entity
{
    /// <summary>
    /// 择偶要求表
    /// </summary>
    [SugarTable(null, "择偶要求表")]
    public class LoveRequiment : EntityBase
    {
        /// <summary>
        /// 会员Id
        /// </summary>
        [SugarColumn(ColumnDescription = "会员Id")]
        public long MemberId { get; set; }

        /// <summary>
        /// 推荐地区(多选)
        /// </summary>
        [SugarColumn(ColumnDescription = "推荐地区", Length = 512)]
        [MaxLength(512)]
        public virtual required string Address { get; set; }

        /// <summary>
        /// 婚姻状况(多选)
        /// </summary>
        [SugarColumn(ColumnDescription = "婚姻状况", Length = 512)]
        [MaxLength(512)]
        public virtual required string MaritalStatus { get; set; }

        /// <summary>
        /// 最小年龄
        /// </summary>
        [SugarColumn(ColumnDescription = "最小年龄")]
        public int MinAge { get; set; }

        /// <summary>
        /// 最大年龄
        /// </summary>
        [SugarColumn(ColumnDescription = "最大年龄")]
        public int MaxAge { get; set; }

        /// <summary>
        /// 最低身高
        /// </summary>
        [SugarColumn(ColumnDescription = "最低身高")]
        public int MinHeight { get; set; }

        /// <summary>
        /// 最高身高
        /// </summary>
        [SugarColumn(ColumnDescription = "最高身高")]
        public int MaxHeight { get; set; }

        /// <summary>
        /// 最小体重
        /// </summary>
        [SugarColumn(ColumnDescription = "最小体重")]
        public int MinWeight { get; set; }

        /// <summary>
        /// 最大体重
        /// </summary>
        [SugarColumn(ColumnDescription = "最大体重")]
        public int MaxWeight { get; set; }

        /// <summary>
        /// 最低学历
        /// </summary>
        [SugarColumn(ColumnDescription = "最低学历")]
        public CultureLevelEnum MinCultureLevel { get; set; }

        /// <summary>
        /// 最低月薪
        /// </summary>
        [SugarColumn(ColumnDescription = "最低月薪")]
        public string? MonthlySalary { get; set; }

        /// <summary>
        /// 房产情况(多选)
        /// </summary>
        [SugarColumn(ColumnDescription = "房产情况", Length = 512)]
        [MaxLength(512)]
        public string? HouseStatus { get; set; }

        /// <summary>
        /// 购车情况(多选)
        /// </summary>
        [SugarColumn(ColumnDescription = "购车情况", Length = 512)]
        [MaxLength(512)]
        public string? CarStatus { get; set; }

        /// <summary>
        /// 子女情况(多选)
        /// </summary>
        [SugarColumn(ColumnDescription = "子女情况", Length = 512)]
        [MaxLength(512)]
        public string? ChildrenStatus { get; set; }

        /// <summary>
        /// 其他要求(输入)
        /// </summary>
        [SugarColumn(ColumnDescription = "其他要求(输入)", Length = 512)]
        [MaxLength(512)]
        public string? OtherRequirement { get; set; }

        /// <summary>
        /// 优先把我推荐给最近活跃的人
        /// </summary>
        [SugarColumn(ColumnDescription = "优先把我推荐给最近活跃的人")]
        public bool PrioritizeActiveUsers { get; set; }

        /// <summary>
        /// 优先把我推荐给我喜欢的人
        /// </summary>  
        [SugarColumn(ColumnDescription = "优先把我推荐给我喜欢的人")]
        public bool PrioritizeLikedUsers { get; set; }

        /// <summary>
        /// 只把我推荐给我喜欢的人
        /// </summary>    
        [SugarColumn(ColumnDescription = "只把我推荐给我喜欢的人")]
        public bool OnlyRecommendToLikedUsers { get; set; }
    }
}
